package com.molichuxing.gateway.bff.car.entity.response;

import com.molichuxing.framework.dto.ResponseRootDto;
import com.molichuxing.services.property.CarsOperateStatusEnum;
import com.molichuxing.services.property.CarsTypeEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.List;

/**
 * <p>
 * 车辆详细信息
 * </p>
 *
 * @author 
 * @since 2019-08-15
 */
@Data
public class CarDetailVo extends ResponseRootDto {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "主键id")
    private Integer carId;

    @ApiModelProperty(value = "车架号")
    private String vin;

    @ApiModelProperty(value = "牌照号")
    private String licencePlate;

    @ApiModelProperty(value = "发动机/电机号编号")
    private String engineCode;

    @ApiModelProperty(value = "车型id")
    private Integer vehicleId;

    @ApiModelProperty(value = "车型")
    private String vehicleName;

    @ApiModelProperty(value = "车型图片")
    private String vehicleImg;

    @ApiModelProperty(value = "品牌")
    private String vehicleMake;

    @ApiModelProperty(value = "车系")
    private String vehicleModel;

    @ApiModelProperty(value = "生产年份")
    private Integer produceYear;

    @ApiModelProperty(value = "动力类型")
    private String powerTypeStr;

    @ApiModelProperty(value = "车身颜色id")
    private Integer vehicleColorId;

    @ApiModelProperty(value = "车身颜色")
    private String vehicleColorName;

    @ApiModelProperty(value = "合格证编号")
    private String certificateCode;

    @ApiModelProperty(value = "购车发票URL")
    private String purchaseInvoice;

    @ApiModelProperty(value = "购车发票图片URL")
    private String purchaseInvoiceImg;

    @ApiModelProperty(value = "出厂合格证URL")
    private String factoryCert;

    @ApiModelProperty(value = "出厂合格证图片URL")
    private String factoryCertImg;

    @ApiModelProperty(value = "一致性合格证URL")
    private String uniformityCert;

    @ApiModelProperty(value = "一致性合格证图片URL")
    private String uniformityCertImg;

    @ApiModelProperty(value = "车辆登记证URL")
    private String registerCard;

    @ApiModelProperty(value = "行驶证URL")
    private String drivingLicense;

    @ApiModelProperty(value = "完税证明URL")
    private String taxProof;


    @ApiModelProperty(value = "车辆类型（0：新车，1：二手车）")
    private Integer vehicleType;

    @ApiModelProperty(value = "车辆类型Str")
    private String vehicleTypeStr;

    @ApiModelProperty(value = "运营状态")
    private String statusStr;

    @ApiModelProperty(value = "运营状态（0：待出租，1：已出租，2：不可租）")
    private Integer status;

    @ApiModelProperty(value = "图片集合")
    private List<String> imgList;

    public void setVehicleType(int vehicleType) {
        this.vehicleType = vehicleType;
        this.vehicleTypeStr = CarsTypeEnum.getName(vehicleType);
    }

    public void setStatus(Integer status) {
        this.status = status;
        this.statusStr = CarsOperateStatusEnum.getName(status);
    }

    @ApiModelProperty(value = "初始里程")
    private String initialMileage = "0";

    @ApiModelProperty(value = " 已行驶里程")
    private String drivingName = "0";

    @ApiModelProperty(value = "当前门店")
    private String currentStore;

}
